home *** CD-ROM | disk | FTP | other *** search
/ Utilities Professional 1-1500 / Utilities Professional 1-1500 (1994)(WPD)[!].iso / 12511500 / var1297.dms / var1297.adf / Include / misc / EaglePlayer.i < prev    next >
Text File  |  1993-04-08  |  23KB  |  708 lines

  1. **
  2. **  $Filename: misc/EaglePlayer.i
  3. **  $Release: 1.10 $
  4. **  $Revision: 04$
  5. **  $Date: 06/16/93$
  6. **
  7. ** Definitions and Macros for creating EaglePlayer Playermodules
  8. **
  9. ** ATTENTION (New at Eagleplayer V1.10):
  10. ** Something has changed in Eagleplayer-Globals, but all old unused Globals !!!
  11. **
  12. **    (C) Copyright 1993 by DEFECT
  13. **        All Rights Reserved
  14. **
  15. **
  16.  
  17.     IFND    EAGLEPLAYER_I
  18. EAGLEPLAYER_I    SET    1
  19.  
  20.     IFND    Exec_Types_i
  21.         Include    "Exec/Types.i"
  22.     ENDIF
  23.  
  24.     IFND    DeliTracker_Player_i
  25.         Include    "Misc/DeliPlayer.i"
  26.     ENDIF
  27.  
  28.  
  29. EAGLEVERSION    EQU    4            ;Current Version of EaglePlayer
  30.  
  31.  
  32. *--------------------------- New EaglePlayer Tags ----------------------------*
  33. EP_TagBase    EQU    TAG_USER+"EP"
  34.  
  35.  
  36.     ENUM    EP_TagBase        ;EaglePlayer-TagBase
  37.  
  38.     EITEM    EP_Get_ModuleInfo    ;get Pointer to Moduleinfo Taglist
  39.     EITEM    EP_Free_ModuleInfo    ;free Taglist (e.g. Free Mem)
  40.     EITEM    EP_Voices        ;Set the Voices
  41.     EITEM    EP_SampleInit        ;not used yet
  42.     EITEM    EP_SampleEnd        ;not used yet
  43.     EITEM    EP_Save            ;not used yet
  44.     EITEM    EP_ModuleChange
  45.     EITEM    EP_ModuleRestore
  46.     EITEM    EP_StructInit        ;Return Pointer to Userprg.Struct (UPS_)
  47.     EITEM    EP_StructEnd        ;Free Struct (e.g. Free allocated Mem)
  48.     EITEM    EP_LoadPlConfig        ;Load Config of Player
  49.     EITEM    EP_SavePlConfig        ;Save Config of Player
  50.     EITEM    EP_GetPositionNr    ;return Patternnumber (in D0.l)
  51.     EITEM    EP_SetSpeed        ;Set Speed (for Players with own Timer)
  52.                     ;Value submitted in D0
  53.     EITEM    EP_Flags        ;see below
  54.     EITEM    EP_KickVersion
  55.     EITEM    EP_PlayerVersion
  56.     EITEM    EP_CheckModule
  57.     EITEM    EP_EjectPlayer
  58.     EITEM    EP_Date            ;Creator-Date (e.g 11.05.1993
  59.                     ;11.b, 05.b, 1993.w )
  60.     EITEM    EP_Check3
  61.  
  62.  
  63. *** end of player interface enumeration for EaglePlayer V1.01 ***
  64.  
  65. *------------------------- EaglePlayer EP_Flags --------------------------*
  66. *    if you use EP_Flags, please set all functions your player offers     *
  67.  
  68. EPF_Songend    EQU    1            ;Songend
  69. EPF_Restart    EQU    2            ;Player restartable
  70. EPF_Disable    EQU    3            ;Player disabled (1=yes)
  71. EPF_NextSong    EQU    4            ;
  72. EPF_PrevSong    EQU    5            ;
  73. EPF_NextPatt    EQU    6            ;
  74. EPF_PrevPatt    EQU    7            ;
  75. EPF_Volume    EQU    8            ;
  76. EPF_Balance    EQU    9            ;
  77. EPF_Voices    EQU    10            ;
  78. EPF_Save    EQU    11            ;
  79. EPF_Analyzer    EQU    12            ;
  80. EPF_ModuleInfo    EQU    13            ;
  81. EPF_SampleInfo    EQU    14            ;
  82. EPF_Packable    EQU    15            ;
  83. EPF_VolVoices    EQU    16            ;
  84.  
  85. EPB_Songend    EQU    1<<EPF_Songend
  86. EPB_Restart    EQU    1<<EPF_Restart
  87. EPB_Disable    EQU    1<<EPF_Disable
  88. EPB_NextSong    EQU    1<<EPF_NextSong
  89. EPB_PrevSong    EQU    1<<EPF_PrevSong
  90. EPB_NextPatt    EQU    1<<EPF_NextPatt
  91. EPB_PrevPatt    EQU    1<<EPF_PrevPatt
  92. EPB_Volume    EQU    1<<EPF_Volume
  93. EPB_Balance    EQU    1<<EPF_Balance    
  94. EPB_Voices    EQU    1<<EPF_Voices
  95. EPB_Save    EQU    1<<EPF_Save
  96. EPB_Analyzer    EQU    1<<EPF_Analyzer
  97. EPB_ModuleInfo    EQU    1<<EPF_ModuleInfo
  98. EPB_SampleInfo    EQU    1<<EPF_SampleInfo
  99. EPB_Packable    EQU    1<<EPF_Packable
  100. EPB_VolVoices    EQU    1<<EPF_VolVoices
  101.  
  102. *---------------------------- Module-Info Tags -------------------------------*
  103. MI_TagBase    EQU TAG_USER+"MI"
  104.  
  105.     ENUM    MI_TagBase            ; TagBase
  106.  
  107.     EITEM    MI_SongName            ;Pointer to Songname
  108.     EITEM    MI_AuthorName            ;Pointer to Authorname
  109.     EITEM    MI_SubSongs            ;Subsongs
  110.     EITEM    MI_Pattern            ;highest PatternNr
  111.     EITEM    MI_MaxPattern            ;Max Patterm (SoundTr. 64)
  112.     EITEM    MI_Length            ;Length of Module
  113.     EITEM    MI_MaxLength            ;Max Length (SoundTr. 128)
  114.     EITEM    MI_Steps            ;Steps (SoundMon)
  115.     EITEM    MI_MaxSteps            ;Max Steps
  116.     EITEM    MI_Samples            ;Number of used Samples
  117.     EITEM    MI_MaxSamples            ;Max Samples (SoundTr 31)
  118.     EITEM    MI_SynthSamples            ;Number of used SynthSamples
  119.     EITEM    MI_MaxSynthSamples        ;Max SynthSamples
  120.     EITEM    MI_Songsize            ;Songsize in Bytes
  121.     EITEM    MI_SamplesSize            ;Samplessize in Bytes
  122.     EITEM    MI_ChipSize            ;needed Chip-Size in Bytes
  123.     EITEM    MI_OtherSize            ;FastRam (MDAT-Files) in Bytes
  124.     EITEM    MI_Calcsize            ;calculated length of module in Bytes
  125.     EITEM    MI_SpecialInfo            ;Pointer to InfoText
  126.     EITEM    MI_LoadSize            ;Loadsize (TFMX,Startrekker) in Bytes
  127.     EITEM    MI_Unpacked            ;Unpacked Size (e.g. Noise-
  128.                         ;Packer) in Bytes
  129.     EITEM    MI_UnPackedSystem        ;MIUS (see below) or APTR
  130.                         ;to Soundsysname
  131.     EITEM    MI_Prefix            ;Save-Prefix (e.g. "MOD." or
  132.                         ;"Mdat.")
  133.     EITEM    MI_About            ;TI_Data points on a string
  134.                         ;telling something about this
  135.                         ;Soundsystem
  136.     EITEM    MI_MaxSubSongs            ;Max SubSongs
  137.  
  138. *--------- Unpacked Soundsystems (intern),more follow ---------------------*
  139. MIUS_OldSoundTracker    EQU    1
  140. MIUS_SoundTracker    EQU    2
  141. MIUS_NoiseTracker    EQU    3
  142. MIUS_ProTracker        EQU    4
  143. MIUS_SizeOF        EQU    4
  144.  
  145. *------------------------------ Sample-Info Tags --------------------------*
  146. *   only as example, Sampleinfo is for Future Use in EaglePlayer, private   *
  147.  
  148. USI_TagBase    EQU TAG_USER+"SI"
  149.  
  150.     ENUM    USI_TagBase            ; TagBase
  151.     EITEM    USI_NextSample            ; Next SampleTag-Structure
  152.     EITEM    USI_Name            ; Name of Sample
  153.     EITEM    USI_Length            ; Length of sample
  154.     EITEM    USI_Repeat            ; Repeat
  155.     EITEM    USI_Replen            ; Replen
  156.     EITEM    USI_Type            ; SampleType
  157.     EITEM    USI_Flags            ; Flags of this Tag Structure
  158.     EITEM    USI_Period            ; default Sampleperiod
  159.  
  160. *------------------------------- Sample types ------------------------------*
  161.  
  162. USITY_RAW        EQU    0
  163. USITY_IFF        EQU    1
  164. USITY_FMSynth        EQU    2
  165. USITY_AMSynth        EQU    3
  166. USITY_Unknown        EQU    4
  167.  
  168. *--------------- Sample-Flags for one SampleInfo-TagStructure --------------*
  169. USIF_Playable        EQU    0
  170. USIF_Saveable        EQU    1
  171.  
  172. USIB_Playable        EQU    1<<USIF_Playable
  173. USIB_Saveable        EQU    1<<USIF_Saveable
  174.  
  175.  
  176. *--------- User-Program-Structure (every player should be use this) ---------*
  177. *--------------- no Taglist used for higher access speed --------------------*
  178. * how to use:                                                                *
  179. * the player sets everytime it accesses the audio-hardware these following   *
  180. * values ; the UPS_VoiceXPer is most important, is it 0 means it that no new *
  181. * note was played, is it different from 0 , all current Userprograms use this* 
  182. * as a new note ; the minimum to see something in the analyzers is period in *
  183. * connection with Volume (should be easy), additionally Address and Length   *
  184. * are recommended for the Quadra/Stereo/MonoScope ; don`t forget to set the  *
  185. * flags, see below                                                           *
  186.  
  187.  STRUCTURE UPS_USER,0
  188.                         ;for Voice 1
  189.     APTR    UPS_Voice1Adr            ;Adr of Samplestart
  190.     UWORD    UPS_Voice1Len            ;Size of Sample
  191.     UWORD    UPS_Voice1Per            ;Periode of Sample
  192.     UWORD    UPS_Voice1Vol            ;Volume of Sample
  193.     UWORD    UPS_Voice1Note            ;Note (unused)
  194.     UWORD    UPS_Voice1SampleNr        ;SampleNr
  195.     UWORD    UPS_Voice1SampleType        ;SampleType
  196.     UWORD    UPS_Voice1Repeat        ;Repeat on
  197.  
  198.     LABEL    UPS_Modulo            ;MemSize for one Voice
  199.  
  200.                         ;for Voice2
  201.     APTR    UPS_Voice2Adr            ;Adr of Samplestart
  202.     UWORD    UPS_Voice2Len            ;Length of Sample
  203.     UWORD    UPS_Voice2Per            ;Periode of Sample
  204.     UWORD    UPS_Voice2Vol            ;Volume of Sample
  205.     UWORD    UPS_Voice2Note            ;Note (unused)
  206.     UWORD    UPS_Voice2SampleNr        ;SampleNr
  207.     UWORD    UPS_Voice2SampleType        ;SampleType
  208.     UWORD    UPS_Voice2Repeat        ;Repeat on
  209.  
  210.                         ;for Voice3
  211.     APTR    UPS_Voice3Adr            ;Adr of Samplestart
  212.     UWORD    UPS_Voice3Len            ;Length of Sample
  213.     UWORD    UPS_Voice3Per            ;Periode of Sample
  214.     UWORD    UPS_Voice3Vol            ;Volume of Sample
  215.     UWORD    UPS_Voice3Note            ;Note (unused)
  216.     UWORD    UPS_Voice3SampleNr        ;SampleNr
  217.     UWORD    UPS_Voice3SampleType        ;SampleType
  218.     UWORD    UPS_Voice3Repeat        ;Repeat on
  219.  
  220.                         ;for Voice4
  221.     APTR    UPS_Voice4Adr            ;Adr of Samplestart
  222.     UWORD    UPS_Voice4Len            ;Length of Sample
  223.     UWORD    UPS_Voice4Per            ;Periode of Sample
  224.     UWORD    UPS_Voice4Vol            ;Volume of Sample
  225.     UWORD    UPS_Voice4Note            ;Note (unused)
  226.     UWORD    UPS_Voice4SampleNr        ;SampleNr
  227.     UWORD    UPS_Voice4SampleType        ;SampleType
  228.     UWORD    UPS_Voice4Repeat        ;Repeat on
  229.  
  230.     UWORD    UPS_DMACon            ;Voices on/off 15=all on
  231.                         ;Name irritating, better was
  232.                         ;VoicesStaus, Use like the
  233.                         ;real Dmacon, Bit x set,
  234.                         ;Voice x on
  235.  
  236.     UWORD    UPS_Flags            ;Flags , see below
  237.     UWORD    UPS_Enabled            ;Zero = Read enabled
  238.     UWORD    UPS_Reserved            ;unused
  239.  
  240.     LABEL    UPS_SizeOF
  241.  
  242. *--------------------------- Flags to UPS_Flags ---------------------------*
  243. * these Flags tell, which analyzerfunctions the actual player is able to do*
  244.  
  245. UPSFL_Adr    EQU    0        ;submits Sampleaddress
  246. UPSFL_Len    EQU    1        ;submits Samplesize
  247. UPSFL_Per    EQU    2        ;submits Period (important !)
  248. UPSFL_Vol    EQU    3        ;submits Volume
  249. UPSFL_Note    EQU    4        ;corrently not used
  250. UPSFL_SNr    EQU    5        ;corrently not used
  251. UPSFL_STy    EQU    6        ;corrently not used
  252. UPSFL_DMACon    EQU    7        ;submits which Voices are on/off
  253. UPSFL_Res    EQU    8
  254.  
  255. UPSB_Adr    EQU    1<<UPSFL_Adr
  256. UPSB_Len    EQU    1<<UPSFL_Len
  257. UPSB_Per    EQU    1<<UPSFL_Per
  258. UPSB_Vol    EQU    1<<UPSFL_Vol
  259. UPSB_Note    EQU    1<<UPSFL_Note
  260. UPSB_SNr    EQU    1<<UPSFL_SNr
  261. UPSB_STy    EQU    1<<UPSFL_STy
  262. UPSB_DMACon    EQU    1<<UPSFL_DMACon
  263. UPSB_Res    EQU    1<<UPSFL_Res
  264.  
  265. **----------------------- User-Program-Start-Structure -----------------**
  266. **    This Structure must be initialized in the executable file    **
  267. **    EUS_Next,EUS_UserNr don`t use, important !!!            **
  268. **    EUS_Flags,EUS_WinX,EUS_WinY,EUS_Special can be initialized      **
  269. **      (will be changed if prefs are loaded :)-=-=  )                  **
  270.  
  271.  STRUCTURE USERPRG_START,0
  272.     UWORD    EUS_Jmp            ;bra.s (bra.b) to the real start of the
  273.                     ;userprogram (usually direct after this
  274.                     ;struct  (MUST be a BRA.S !!!!!)
  275.     STRUCT    EUS_Identifier,10    ;Identifier "EP-USERPRG"
  276.     APTR    EUS_Next        ;Don`t Use !!! only for Eagleplayer
  277.     UWORD    EUS_UserNr        ;don`t change, only for Eagleplayer
  278.  
  279.     APTR    EUS_EPBase        ;Pointer to the Delitracker/Eagleplayer
  280.                     ;globals
  281.     APTR    EUS_Unused1        ;Future use (don't change)
  282.     APTR    EUS_Unused2        ;Future use (don't change)
  283.  
  284.     APTR    EUS_PName        ;Processname of this UserPrg
  285.                     ;e.g. 'Analyzer.Task'
  286.     APTR    EUS_Creator        ;Creatorname e.g. "BUGGS"
  287.     APTR    EUS_AboutUPRG        ;tells something about this Userprg.
  288.     UWORD    EUS_KickStart        ;min Kickversion 0=All , 37 = OS 2.0
  289.     ULONG    EUS_EPVersion        ;min. EagleplayerVersion
  290.     UWORD    EUS_Version        ;Userprg. Version  eg. 37 \not very
  291.     UWORD    EUS_Revision        ;Userprg. Revision eg.175 /important
  292.     APTR    EUS_UserName        ;Name for PullDownMenu (max.14 Chars)
  293.     UWORD    EUS_WinX        ;User-Window X-Position
  294.     UWORD    EUS_WinY        ;User-Window Y-Position
  295.     UWORD    EUS_Flags        ;Flags (Iconify/ZipWindow,Window Open),
  296.                     ;see below
  297.     ULONG    EUS_Special        ;SpecialInfos (e.g. AnalyzerMode)
  298.  
  299.     ULONG    EUS_CreatorDate        ;Creatordate (e.g 14.b 6. 1993.w)
  300.     UBYTE    EUS_Priority        ;TaskPriority of UserPrg
  301.     UBYTE    EUS_Reserved1        ;set zero, don`t change
  302.     UWORD    EUS_Reserved2        ;set zero, don`t change
  303.     ULONG    EUS_Reserved3        ;set zero, don`t change
  304.     ULONG    EUS_Reserved4        ;set zero, don`t change
  305.  
  306.     LABEL    EUS_SizeOF
  307.  
  308.  
  309.  
  310. *------------------------------- EUS-Flags -------------------------------*
  311. EUSF_Openwin    EQU    0    ;Window to be opened when started ?
  312.                 ;Bit set = yes
  313. EUSF_Zipwin    EQU    1    ;Zipwindow/Iconify when started ?
  314.                 ;Bit set = yes
  315. EUSB_Openwin    EQU    1<<EUSF_Openwin
  316. EUSB_Zipwin    EQU    1<<EUSF_Zipwin
  317.  
  318. *------------ Special Informations for Analyzer (EUS_special) ---------------*
  319. ;First Byte: 00 = Scroller off   01 = Scroller on
  320. ;Second Byte:01..07,$f0,$f1,$ef,$e2 - Modes
  321. ;Third Byte: 01 = standard Peek on 
  322. ;            02 = extended Peek on (falling down)
  323. ;            00 = Peek off
  324.  
  325. *---------------------- EagleUserProgram-Identifier ----------------------*
  326. EUSN_Identifier MACRO
  327.         dc.b    'EP-USERPRG'
  328.         ENDM
  329.  
  330. *---------------- Analyzer and Eagleplayer Message-Structure -------------*
  331.  STRUCTURE UM_Message,0
  332.     STRUCT    UM_ExecMessage,20    ;Exec-Message
  333.     APTR    UM_TaskAdr        ;UserPrg-TaskAdr
  334.     ULONG    UM_Signal        ;UserPrg-Signal for Interrupt-Signal
  335.     ULONG    UM_Type            ;MessageType
  336.     UWORD    UM_Class        ;Message-Class
  337.     APTR    UM_StructAdr        ;UPS_StructAdr
  338.     APTR    UM_UserPort        ;Pointer to UserProgram-Port
  339.     UWORD    UM_UserNr        ;UserPrg-Nr
  340.     UWORD    UM_Enabled        ;1=Enable (Window close->no Signal)
  341.     ULONG    UM_Command        ;Command from Userprog to EP
  342.     ULONG    UM_ArgString        ;Argument to Command (EPT-Struct or 0)
  343.     ULONG    UM_Result        ;Returned Errornumber (0=no error)
  344.     APTR    UM_UserWindow        ;Pointer to Window of Userprogram
  345.     LABEL    UM_SizeOF
  346.  
  347. *------------------------------- Messagetypes -----------------------------*
  348. USM_Userprg        EQU    1    ;Message from UserPrg to EP
  349. USM_Eagleplayer        EQU    2    ;Message from Eagleplayer to ...
  350.  
  351. *----------------------------- Message-Classes ----------------------------*
  352. USClass_Dummy        EQU    0    ;no class (maybe new StructAdr)
  353. USClass_Activate    EQU    1    ;Start Work e.g. Open Window
  354. USClass_DeActivate    EQU    2    ;e.g. Close Window (just Pause,NO Exit!)
  355. USClass_Exit        EQU    3    ;Exit UserPrg (only to UserPrg)
  356. USClass_Zipwin        EQU    4
  357. USClass_Unzipwin    EQU    5
  358. USClass_NewUserPrg    EQU    6    ;Return-Message bei UserPrg-Start
  359. USClass_GetConfig    EQU    7    ;EUS_Flags,EUS_Winx,EUS_Winy,EUS_special have
  360.                     ;to be initialized by Userprogram  before
  361.                     ;replying the Message
  362. USClass_NewConfig    EQU    8    ;EUS_Flags,EUS_Winx,EUS_Winy,EUS_special
  363.                     ;countain new Values (the Userprogram has to
  364.                     ;utilize this new datas)
  365. USClass_LockEP        EQU    9    ;Eagleplayer sets Waiting Pointer and
  366.                     ;does nothing until USCLASS_UNLOCKEP
  367.                     ;comes, be shure to unlock the EP
  368.                     ;again (be carefully, call UnLock only
  369.                     ;as often as you called Lock)
  370. USClass_UnLockEP    EQU    10    ;Free Eagleplayer to work on
  371. USClass_Command        EQU    11    ;Command to Eagleplayer, future
  372.                     ;use (e.g. NextPattern,Stop)
  373. USClass_Answer        EQU    12    ;Command came back, in UM_Arg and
  374.                     ;UM_Arg2 results
  375.  
  376. *---------------------------------------------------------------------------*
  377.  STRUCTURE EaglePlayerText,0
  378.     APTR    EPT_Next        ;Pointer to Next EPT-Struct
  379.     LONG    EPT_Result1        ;Arg or Returnvalue
  380.     LONG    EPT_Result2        ;Arg or Returnvalue
  381.     LONG    EPT_StringSize        ;Size of allocated Mem (Struct+String)
  382.     LABEL    EPT_String        ;String Itself
  383.  
  384.  
  385. *------------------------- Userprogram-Commandos ---------------------------*
  386. UCM_Status        EQU    1        ;String
  387. UCM_LoadModuleNr    EQU    2        ;-1 = Filerequester
  388. UCM_CloseAllOtherUserPrg EQU    3
  389. UCM_OpenAllOtherUserPrg    EQU    4
  390. UCM_PubScreen        EQU    5        ;Pointer to ScreenName
  391. UCM_Quit        EQU    6        ;Quit Eagleplayer
  392. UCM_AboutEP        EQU    7
  393. UCM_ScrollText        EQU    8
  394. UCM_Iconify        EQU    9
  395. UCM_HelpMode        EQU    10        ;not imlemented
  396. UCM_HelpMe        EQU    11        ;not imlemented
  397. UCM_DeleteFile        EQU    12
  398. UCM_UserPrg        EQU    13
  399. UCM_LoadConfig        EQU    14
  400. UCM_SaveConfig        EQU    15
  401. UCM_AddUserPrg        EQU    16
  402. UCM_HelpFile        EQU    17        ;not imlemented
  403. UCM_NewFont        EQU    18
  404. UCM_LoadModule        EQU    19
  405. UCM_SaveModule        EQU    20
  406. UCM_Eject        EQU    21
  407. UCM_PrevSong        EQU    22
  408. UCM_NextSong        EQU    23
  409. ;UCM_PlaySong        EQU    24        ;not implemented
  410. UCM_PrevPatt        EQU    25
  411. UCM_NextPatt        EQU    26
  412. UCM_PrevModule        EQU    27
  413. UCM_NextModule        EQU    28
  414. UCM_Pause        EQU    29
  415. UCM_Play        EQU    30
  416. UCM_Stop        EQU    31
  417. UCM_ReplaySong        EQU    32
  418. UCM_AboutModule        EQU    33
  419. UCM_OpenMainWindow    EQU    34
  420. UCM_OpenPlWindow    EQU    35
  421. UCM_OpenSIWindow    EQU    36        ;not imlemented
  422. UCM_OpenMIWindow    EQU    37        ;not imlemented
  423. UCM_CloseMainWindow    EQU    38
  424. UCM_ClosePlWindow    EQU    39
  425. UCM_CloseSIWindow    EQU    40        ;not imlemented
  426. UCM_CloseMIWindow    EQU    41        ;not imlemented
  427. UCM_AddPlayer        EQU    42
  428. UCM_AddPlDir        EQU    43
  429. UCM_DelPlayer        EQU    44
  430. UCM_DeleteAll        EQU    45
  431. UCM_Enable        EQU    46
  432. UCM_Disable        EQU    47
  433. UCM_LoadPlConfig    EQU    48
  434. UCM_SavePlConfig    EQU    49
  435. UCM_DefaultSpeed    EQU    50
  436. UCM_SlowerSpeed        EQU    51
  437. UCM_FasterSpeed        EQU    52
  438. UCM_Filter        EQU    53
  439. UCM_FadeOut        EQU    54
  440. UCM_FadeIn        EQU    55
  441. UCM_QuickStart        EQU    56
  442. UCM_Random        EQU    57
  443. UCM_SongEnd        EQU    58
  444. UCM_TimeOut        EQU    59
  445. UCM_ScrollInfos        EQU    60
  446. UCM_LoadDir        EQU    61
  447. UCM_AutoDir        EQU    62
  448. UCM_FlashPointer    EQU    63
  449. UCM_LoadNext        EQU    64
  450. UCM_MasterVolume    EQU    65        ;not imlemented
  451. UCM_Overwrite        EQU    66        ;not imlemented
  452. UCM_LoadSubDirs        EQU    67        ;not imlemented
  453. UCM_UseSongName        EQU    68        ;not imlemented
  454. UCM_GetModList        EQU    69        ;not imlemented
  455. UCM_GetPlList        EQU    70        ;not imlemented
  456. UCM_GetUserPrgList    EQU    71        ;not imlemented
  457. UCM_GetSampleList    EQU    72        ;not imlemented
  458. UCM_LittleWin        EQU    73
  459. UCM_AppItem        EQU    74
  460. UCM_AppIcon        EQU    75
  461. UCM_Unpacked        EQU    76
  462. UCM_PPPacked        EQU    77        ;not imlemented
  463. UCM_LHPacked        EQU    78        ;not imlemented
  464. UCM_XPKPacked        EQU    79        ;not imlemented
  465. UCM_ArpLibrary        EQU    80        ;not imlemented
  466. UCM_AslLibrary        EQU    81        ;not imlemented
  467. UCM_ReqLibrary        EQU    82
  468. UCM_ReqTools        EQU    83        ;not imlemented
  469. UCM_SetSpeed        EQU    84
  470. UCM_Volume        EQU    85
  471. UCM_Balance        EQU    86
  472. UCM_Voice        EQU    87    ;in Arg 1 Number,Arg 2 State 0=on 1=off
  473. UCM_VolVoice        EQU    88
  474. UCM_FileRequest        EQU    89
  475. UCM_QuitSurface        EQU    90
  476.  
  477. *-------- Errornumbers for Tags with Error-Returns, for UserPrograms -------*
  478. *-------- & for Subprograms (DTG_LoadFile)                 -------*
  479. EPR_UnknownFormat    EQU    1
  480. EPR_FileNotFound    EQU    2
  481. EPR_ErrorInFile        EQU    3
  482. EPR_NotEnoughMem    EQU    4
  483. EPR_CorruptModule    EQU    5
  484. EPR_ErrorInstallPlayer    EQU    6
  485. EPR_EagleRunning    EQU    7
  486. EPR_CantAllocCia    EQU    8
  487. EPR_CantAllocAudio    EQU    9
  488. EPR_CantFindReq        EQU    10
  489. EPR_NoModuleLoaded    EQU    11
  490. EPR_ErrorInString    EQU    12
  491. EPR_CantAllocSerial    EQU    13
  492. EPR_ErrorDecrunching    EQU    14
  493. EPR_ErrorExtLoad    EQU    15
  494. EPR_ErrorAddPlayer    EQU    16
  495. EPR_SaveError        EQU    17
  496. EPR_LoadError        EQU    18
  497. EPR_CantOpenWin        EQU    19
  498. EPR_PlayerExists    EQU    20
  499. EPR_WriteError        EQU    21
  500. EPR_XPKError        EQU    22
  501. EPR_XPKMasterNotFound    EQU    23
  502. EPR_PPNotFound        EQU    24
  503. EPR_LHNotFound        EQU    25
  504. EPR_ErrorAddUserPrg    EQU    26
  505. EPR_NoMoreUserPrgs    EQU    27
  506. EPR_ModuleTooShort    EQU    28
  507. EPR_CantDeletingPlayer    EQU    29
  508. EPR_ErrorLoadingInstruments EQU    30
  509. EPR_NoMoreEntries    EQU    31
  510. EPR_ErrorLoadingDir    EQU    32
  511. EPR_DirIsEmpty        EQU    33
  512. EPR_BufferFull        EQU    34
  513. EPR_UnknownError    EQU    35
  514. EPR_FunctionNotEnabled    EQU    36
  515. EPR_Passwordfailed    EQU    37
  516. EPR_CommandError    EQU    38
  517. EPR_ErrorInArguments    EQU    39
  518. EPR_NotImplemented    EQU    40
  519. EPR_FileIsNotExecutable    EQU    41
  520. EPR_NotEnoughArguments    EQU    42
  521. EPR_Functionaborted    EQU    43
  522. EPR_InvalidNr        EQU    44
  523. EPR_FileReqCancelled    EQU    45
  524. EPR_ErrorDeletingFile    EQU    46
  525. EPR_ErrorLoadingFont    EQU    47
  526. EPR_NeedHigherKickstart    EQU    48
  527.  
  528. *------------------------------ Global Variables ----------------------------*
  529.  STRUCTURE EaglePlayerGlobals,0
  530.  
  531.     STRUCT    OLDDeliTrackerGlobals,dtg_Reserved3+4
  532.     FPTR    EPG_FTPRReserved1
  533.     FPTR    EPG_FTPRReserved2
  534.     FPTR    EPG_FTPRReserved3
  535.     FPTR    EPG_SaveMem        ;Save Mem to Disk  (Don`t use)
  536.     FPTR    EPG_FileRequest        ;FileRequester     (Don`t use)
  537.     FPTR    EPG_TextRequest                   (Don`t use)
  538.     FPTR    EPG_LoadExecutable    ;Load % Decrunch
  539.     FPTR    EPG_NewLoadFile        ;new DTG_LoadFile with Parameters
  540.     FPTR    EPG_ScrollText        ;Scroll Text
  541.     FPTR    EPG_LoadPlConfig    ;Loads a Config from Env:Eagleplayer/..
  542.     FPTR    EPG_SavePlConfig    ;Saves a Config to EnvArc:Eagleplayer/..
  543.     FPTR    EPG_FindTag
  544.     FPTR    EPG_FindAuthor        ;Find Authorname for Soundtracker-
  545.                     ;compatibles
  546.     FPTR    EPG_FTPRReserved4
  547.     FPTR    EPG_FTPRReserved5
  548.     FPTR    EPG_FTPRReserved6
  549.     FPTR    EPG_FTPRReserved7
  550.     FPTR    EPG_FTPRReserved8
  551.  
  552.     APTR    EPG_XPKBase        ;librarybase (don`t close) or zero
  553.     APTR    EPG_LHBase        ;librarybase (don`t close) or zero
  554.     APTR    EPG_PPBase        ;librarybase (don`t close) or zero
  555.     APTR    EPG_DiskFontBase    ;librarybase (don`t close) or zero
  556.     APTR    EPG_ReqToolsBase    ;librarybase (don`t close) or zero
  557.     APTR    EPG_ReqBase        ;librarybase (don`t close) or zero
  558.     APTR    EPG_ARPBase        ;librarybase (don`t close) or zero
  559.     APTR    EPG_WorkBenchBase    ;librarybase (don`t close) or zero
  560.     APTR    EPG_RexxSysBase        ;librarybase (don`t close) or zero
  561.     APTR    EPG_Commoditiesbase    ;librarybase (don`t close) or zero
  562.     APTR    EPG_Iconbase        ;librarybase (don`t close) or zero
  563.     APTR    EPG_ReservedBase1
  564.  
  565.     APTR    EPG_WinHandle        ;MainWindow or zero (don`t close)
  566.     APTR    EPG_PlWinHandle        ;PlayerWindow or zero (don`t close)
  567.     APTR    EPG_MiWinHandle        ;ModuleInfoWindow or zero (don`t close)
  568.     APTR    EPG_SiWinHandle        ;SampleInfoWindow or zero (don`t close)
  569.     APTR    EPG_ReservedWinHandle    ;zero (don`t use)
  570.     APTR    EPG_Reserved2WinHandle    ;zero (don`t use)
  571.  
  572.     APTR    EPG_PubScreen        ;Pointer to PubScreenname or zero
  573.     APTR    EPG_CiaBBase        ;Ciab.Resource-Base or zero
  574.     APTR    EPG_APTRReserved1
  575.     APTR    EPG_APTRReserved2
  576.     APTR    EPG_APTRReserved3
  577.  
  578.     LONG    EPG_Identifier        ;Longword="EPGL" --> Eagleplayer used
  579.     LONG    EPG_EagleVersion
  580.     WORD    EPG_Speed
  581.  
  582.     LONG    EPG_ARGN            ;Anz. of Parameters
  583.  
  584.     LONG    EPG_ARG1        ;\
  585.     LONG    EPG_ARG2        ; \
  586.     LONG    EPG_ARG3        ;  \    Parameter-Buffer for SubProggys
  587.     LONG    EPG_ARG4        ;   \_\ You must use this. You must set
  588.     LONG    EPG_ARG5        ;   / /    ArgN (max. used Parameters)
  589.     LONG    EPG_ARG6        ;  /    --> New SubProggys can use
  590.     LONG    EPG_ARG7        ; /    more Parameters !!!!
  591.     LONG    EPG_ARG8        ;/ don`t use in interrupts !!!!
  592.  
  593.     UWORD    EPG_Voices
  594.  
  595.     UWORD    EPG_Voice1Vol
  596.     UWORD    EPG_Voice2Vol
  597.     UWORD    EPG_Voice3Vol
  598.     UWORD    EPG_Voice4Vol
  599.     UWORD    EPG_Voice5Vol        ;unused
  600.     UWORD    EPG_Voice6Vol        ;unused
  601.     UWORD    EPG_Voice7Vol        ;unused
  602.     UWORD    EPG_Voice8Vol        ;unused
  603.  
  604.     ULONG    EPG_SomePrefs        ;Bits you find above the Globals
  605.     ULONG    EPG_Timeout        ;Timeout in Secs ; 0 = No Timeout
  606.  
  607.     WORD    EPG_FirstSnd    ;first Subsong Nr. (-1 for unknown)
  608.     WORD    EPG_SubSongs    ;Subsong Range (-1 for unknown)
  609.     ULONG    EPG_MODNr    ;Actual Module in List (Nr) ; 0 = No Mod.
  610.     ULONG    EPG_MODS    ;Number of Modules in List (Nr); 0 = No List
  611.  
  612.     APTR    EPG_PlayerTagList    ;Pointer to actual PlayerTaglist
  613.     APTR    EPG_TextFont        ;Pointer to actual Font-Structure
  614.  
  615.     UWORD    EPG_DVoice1Vol
  616.     UWORD    EPG_DVoice2Vol
  617.     UWORD    EPG_DVoice3Vol
  618.     UWORD    EPG_DVoice4Vol
  619.     UWORD    EPG_DVoice5Vol        ;unused
  620.     UWORD    EPG_DVoice6Vol        ;unused
  621.     UWORD    EPG_DVoice7Vol        ;unused
  622.     UWORD    EPG_DVoice8Vol        ;unused
  623.  
  624.     WORD    EPG_WORDReserved1
  625.     WORD    EPG_WORDReserved2
  626.     WORD    EPG_WORDReserved3
  627.     WORD    EPG_WORDReserved4
  628.     WORD    EPG_WORDReserved5
  629.     WORD    EPG_WORDReserved6
  630.     WORD    EPG_WORDReserved7
  631.     WORD    EPG_WORDReserved8
  632.  
  633.     LONG    EPG_LONGReserved1
  634.     LONG    EPG_LONGReserved2
  635.     LONG    EPG_LONGReserved3
  636.     LONG    EPG_LONGReserved4
  637.  
  638.     LABEL    EPG_SizeOf        ;to be extended
  639.  
  640.  
  641.     *------------- Eagleplayer Globals Preferences-Flags ------------*
  642. EGPRF_Fadein        EQU    0
  643. EGPRF_Fadeout        EQU    1
  644. EGPRF_Songend        EQU    2
  645. EGPRF_Loadnext        EQU    3
  646. EGPRF_Randommodule    EQU    4
  647. EGPRF_Mastervolume    EQU    5
  648.  
  649. EGPRB_Fadein        EQU    1<<EGPRF_Fadein
  650. EGPRB_Fadeout        EQU    1<<EGPRF_Fadeout
  651. EGPRB_Songend        EQU    1<<EGPRF_Songend
  652. EGPRB_Loadnext        EQU    1<<EGPRF_Loadnext
  653. EGPRB_Randommodule    EQU    1<<EGPRF_Randommodule
  654. EGPRB_Mastervolume    EQU    1<<EGPRF_Mastervolume
  655.  
  656.  
  657. *-------------------------- Eagleplayer Helpfile --------------------------*
  658. *---------        CommandList-Documentation is secret        -------*
  659. *--------------------------------------------------------------------------*
  660.  STRUCTURE EPH_HelpFile,0
  661.     STRUCT    EPH_HelpHeader,24        ; Help Identifier + StartupCode
  662.     APTR    EPH_CommandList            ; Ptr to CommandList
  663.     LONG    EPH_Date            ; Creator-Date
  664.     APTR    EPH_Creator            ; Ptr to Creator
  665.     APTR    EPH_Language            ; Ptr to String "Deutsch"
  666.     LONG    EPH_EPVersion            ; min EPVersion
  667.     LONG    EPH_MaxCommands            ; max documented Commands
  668.     APTR    EPH_Gadget            ; Ptr to EPGadget-Structures
  669.     APTR    EPH_NotImplemented        ; Ptr to String "Not implemeted"
  670.     APTR    EPH_NotDocumented        ; Ptr to String "Not documented"
  671.     APTR    EPH_RequesterName        ; Ptr to Requester name
  672.     APTR    EPH_Reserved1
  673.     APTR    EPH_Reserved2
  674.     LABEL    EPH_SizeOf
  675.  
  676. *---------------------- Eaglehelpfile-Identifier --------------------------*
  677. EPHN_HelpHeader MACRO
  678.         moveq    #-1,d0
  679.         rts
  680.         dc.b    "Eagleplayer-Helpfile"        ;Identifier
  681.         ENDM
  682.  
  683.  
  684. *------------- Eagleplayer GadgetStrukture for EPP_Textrequest -------------*
  685.  STRUCTURE EPGG_Gadget,0
  686.         APTR    EPGG_NextGadget
  687.         APTR    EPGG_GadgetName
  688.         UBYTE    EPGG_Keys1
  689.         UBYTE    EPGG_Keys2
  690.         UBYTE    EPGG_Keys3
  691.         UBYTE    EPGG_Keys4
  692.  
  693.  
  694.  
  695. *----------------------------- Ron Klaren Header -----------------------------*
  696. KLARENHEADER MACRO
  697.     moveq    #-1,d0                ; this should return an error
  698.     rts                    ; in case someone tried to
  699.                         ; run it
  700.     dc.l    \1                ; Size of Ron Klaren Module,im-
  701.                         ; portant !!!
  702.     dc.b    "RON_KLAREN_SOUNDMODULE!",0    ; identifier
  703.     ENDM
  704.  
  705.  
  706.     ENDC    ; EAGLEPLAYER_I
  707.  
  708.